package com.abc.xxx.dao;

import com.abc.xxx.model.AccessibleView;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Set;

@Mapper
@Repository
public interface AccessibleViewMapper extends BaseMapper<AccessibleView> {


    Set<String> findPagePermissionCodes(@Param("roleId") Integer roleId);

    /**
     * 删除角色关联的可访问的页面权限
     * sql中type=1表示是页面权限
     * @param roleId
     * @param pageCodes
     */
    void deleteRoleAccessiblePagesByCode(@Param("roleId") Integer roleId,
                                         @Param("pageCodes") Set<String> pageCodes);

    /**
     * 删除角色关联的可访问的按钮权限
     * sql中type=2表示是按钮权限
     *
     * @param roleId
     * @param codeRegexp
     */
    void deleteRoleAccessibleButtonsByRegexp(@Param("roleId") Integer roleId,
                                             @Param("codeRegexp") String codeRegexp);


}
